<
networking> (ABP) A simple
data link layer protocol that
retransmits lost or corrupted messages.
Messages are sent from transmitter A to receiver B. Assume
that the channel from A to B is initialised and that there are
no messages in transit. Each message contains a data part, a
checksum, and a one-
bit sequence number, i.e. a value that
is 0 or 1.
When A sends a message, it sends it continuously, with the
same sequence number, until it receives an acknowledgment
(
ACK) from B that contains the same sequence number. When
that happens, A complements (flips) the sequence number and
starts transmitting the next message.
When B receives a message from A, it checks the checksum. If
the message is not corrupted B sends back an ACK with the same
sequence number. If it is the first message with that
sequence number then it is sent for processing. Subsequent
messages with the same sequence
bit are simply acknowledged.
If the message is corrupted B sends back an negative/error
acknowledgment (
NAK). This is optional, as A will continue
transmitting until it receives the correct ACK.
A treats corrupted ACK messages, and NAK messages in the same
way. The simplest behaviour is to ignore them all and
continue transmitting.
(2000-10-28)